The present invention relates to a storage virtualizer, which produces a virtual storage unit with a part or the whole of storage areas of physical storage units and which is capable of accessing to a host computer, and a computer system using the storage virtualizer.
In a large scale computer system for mass-processing data, a plurality of storage units, e.g., magnetic disk units, are often connected to a host computer, e.g., server computer, by a proper connecting manner, e.g., fiber channels, so as to allow the host computer to flexibly use the storage units.
A conventional computer system having host computers 11a and 11b and a storage system 13, which includes physical storage units X, Y and Z, is shown in FIG. 3.
In FIG. 3, the storage system 13 includes centralized modules CM1 and CM2 for accessing to the physical storage units X, Y and Z. The centralized modules are respectively assigned to the physical storage units X, Y and Z. For example, the centralized module CM1 is assigned to the physical storage units X and Y; the centralized module CM2 is assigned to the physical storage unit Z. Note that, paths from the physical storage units to the centralized modules assigned are shown as solid lines; paths from the physical storage units to the centralized modules not assigned are shown as dotted lines.
The centralized modules CM1 and CM2 respectively have cache memories corresponding to stored contents of the designated physical storage units, so that they can rapidly access to the designated physical storage units by using the cache memories.
When the centralized module CM1 receives an access request to the designated physical storage unit X or Y via the paths 17 and 19 connected to the host computers 1a and 11b, it accesses to the physical storage unit X or Y.
When the centralized module CM1 receives an access request to the physical storage unit Z designated to the other centralized module CM2 via the paths 17 and 19, it sends the request to the assigned centralized module CM2. Namely, the centralized modules CM1 and CM2 communicate each other so as to transfer the request to the centralized module CM2.
In the storage system 13, the assigned centralized module always accesses to the designated physical storage unit.
As shown in FIG. 3, the centralized modules CM1 and CM2 are connected to the physical storage unit not designated via the paths shown by dotted lines. For example, when the centralized module CM1 breaks down, the physical storage unit X can be accessed via the centralized module CM2.
In the computer system shown in FIG. 3, when the host computers 11a or 11b accesses to the physical storage unit X, Y or Z, its device driver sends the access request to the assigned centralized module of the physical storage unit to be accessed. With this action, transferring the request between the centralized modules CM1 and CM2 can be omitted, so that the access time can be shortened.
In the conventional computer system including a plurality of physical storage units, storage areas of the physical storage units are combined so as to make a host computer recognize as a virtual storage unit.
An example of such computer system employing the virtual storage unit is disclosed in Japanese Patent Gazette No. 2003-44421. The computer system is shown in FIG. 4. A plurality of node units (host computers) 1 and a plurality of storage units 2 are connected by a network switch 3. A network processor 31 of the network switch 3 combines a part or a whole of a storage area of each storage unit 2 so as to constitute a virtual storage unit (virtual common disk) 5. The node units 1 are capable of accessing to the virtual storage unit 5.
By the virtualization of the storage, a user can optionally produce the virtual storage unit on the basis of uses of the host computer. By accessing to the virtual storage unit, the host computer can use the physical storage units without regard to storage capacities and connection types of the physical storage units.
Another conventional computer system, in which the storage system 13 shown in FIG. 3 is used to virtualize storages, is shown in FIG. 5.
In FIG. 5, the host computers 11a and 11b and the centralized modules CM1 and CM2 of the storage system 13 are respectively connected to a fiber channel switch 10, which acts as a storage virtualizer, via connecting means 12a-12j and fiber channels (FC).
The fiber channel switch 10 produces virtual storage units A and B by combining parts or the whole of storage areas of the physical storage units X, Y and Z. The host computers 11a and 11b recognize the virtual storage units A and B. The host computers 11a and 11b can access to the virtual storage units A and B as well as the ordinary physical storage units.
In FIG. 5, the fiber channel switch 10 combines a part x1 of the physical storage unit X, a part y1 of the physical storage unit Y and a part z1 of the physical storage unit Z so as to produce the virtual storage unit A; the fiber channel switch 10 combines a part x2 of the physical storage unit X, a part y2 of the physical storage unit Y and a part z2 of the physical storage unit Z so as to produce the virtual storage unit B. The host computer 11a and 11b is capable of accessing to the virtual storage units A and B independently.
The structure of the fiber channel switch 10 acting as the storage virtualizer is not limited to the example shown in FIG. 5. Parts or the whole of storage areas of the physical storage units may be optionally combined to produce the virtual storage unit.
In the computer system shown in FIG. 5, when the storage virtualizer (fiber channel switch) requests to access to the physical storage unit (physical hard disk unit) in answer to the access of the host computer to the specific virtual storage unit, the access request is sent to the specific centralized module.
In case that one virtual storage unit is constituted by storage areas of a plurality of physical storage units, if the access request is sent to a plurality of centralized modules, consistency of access order between the access request and another access request sent from another host computer cannot be ensured. Further, data stored in the physical storage units may be damaged. The storage virtualizeer designates the centralized module for the physical storage unit to be accessed in answer to each access to the virtual storage units and distributes the access requests to the centralized modules. With this action, overload must be applied to firmwares of a control section.
In the computer system shown in FIG. 5 and the storage virtualizer thereof, when the host computer accesses to one virtual storage unit, the access request is sent to the predetermined centralized module corresponding to the virtual storage unit. Therefore, the centralized module, to which the access request is sent, works as the assigned centralized module or the nonassigned centralized module according to the physical storage units corresponding to the storage areas of the virtual storage unit.
For example, in FIG. 5, if the access request to the virtual storage unit A is sent via the centralized module A, the access request to the storage areas x1 and y1 of the virtual storage unit A is sent to the designated centralized module CM1; the access request to the storage area z1 is sent to the nondesignated centralized module CM1 then transferred to the centralized module CM2.
In the conventional computer system, if many access requests to the virtual storage unit are sent to the centralized module which is not designated to the corresponding physical storage unit, the transfer of the requests occur many times. Therefore, a speed of accessing to the storage system must be slower For example, in FIG. 5, if number of times of accessing to the storage areas y2 and z2 is larger than number of times of accessing to the storage area x2, many of the access request are transferred from the centralized module CM1 to the centralized module CM2, so that access performance must be lowered.